/*
 * area.h
 *
 *  Created on: May 12, 2010
 *      Author: abeldantas
 */

#ifndef AREA_H_
#define AREA_H_

#include "mouse_manip.h"
#include "song_manip.h"



int currentEvent;

void asm_wait(void);
// Rotina ASM do timer
extern void programa(void);
// Rotina ASM do teclado
extern int scancode;
int scancode;

	char **playerUp;
	char **playerDown;
	char **playerLeft;
	char **playerRight;

typedef struct{
	Sprite *character;
	Sprite *map;
	char *collisions;
}Area;

Area area1;
Area area2;
Area area3;

int polvo[10];

//
void newGame();

//inicializa a area, desenha o mapa de jogo e o character
void startArea(Area* area, char* mapFile, char* colisionFile, char** up,
		char** down, char** left, char** right, int startX, int startY, int pstartX, int pstartY);

//verifica a keyboard queue por teclas de movimento e passa esse movimento a moveArea
//direction 0->up 1->down 2->left 3->right
void updateArea(Area* area);

//se não ouver colisoes para uma certa movimentacao em x,y; movimentar o mapa inversamente
void moveArea(Area* area, int direction,int step);
void moveCharacter(Area* area, int direction, int step) ;

//verificar se um determinado ponto tem ou não collidable
Bool checkCollision(Area* area,int x, int y);

#endif /* AREA_H_ */
